package dietmar.ckm2;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JList;
import javax.swing.border.TitledBorder;
import javax.swing.border.LineBorder;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class KlubGuii extends JFrame {

	private JPanel contentPane;
	private JTextField txtNazwaKlubu;
	private JTextField txtRokZalozenia;
	private JTextField txtPrezes;
	private JList list = new JList();
	private JButton btnEdytujDruzyne;
	private JButton btnDodajDruzyne;
	private JButton btnUsunDruzyne;
	private LigaGuii ligagui;
	private Klub klub;
	

	
	

	

	public KlubGuii(LigaGuii ligagui) {
	    this.ligagui=ligagui;
	    this.klub= new Klub();
	 
	    
	  
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 495, 362);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblNazwaKlubu = new JLabel("Nazwa Klubu");
		lblNazwaKlubu.setBounds(10, 11, 99, 14);
		contentPane.add(lblNazwaKlubu);
		
		txtNazwaKlubu = new JTextField();
		txtNazwaKlubu.setBounds(119, 8, 125, 20);
		contentPane.add(txtNazwaKlubu);
		txtNazwaKlubu.setColumns(10);
		
		JLabel lblRokZalozenia = new JLabel("Rok zalozenia");
		lblRokZalozenia.setBounds(10, 36, 99, 14);
		contentPane.add(lblRokZalozenia);
		
		txtRokZalozenia = new JTextField();
		txtRokZalozenia.setBounds(119, 39, 125, 20);
		contentPane.add(txtRokZalozenia);
		txtRokZalozenia.setColumns(10);
		
		JButton btnZapisz = new JButton("Zapisz");
		btnZapisz.setBounds(386, 21, 89, 23);
		contentPane.add(btnZapisz);
		btnZapisz.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				zapisz();
	
	
		}
		});
		
		JPanel panel = new JPanel();
		panel.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 255)), "Edytor", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel.setLayout(null);
		panel.setBounds(277, 62, 198, 132);
		contentPane.add(panel);
		
		btnDodajDruzyne = new JButton("Dodaj Druzyne");
		btnDodajDruzyne.setBounds(10, 21, 178, 23);
		btnDodajDruzyne.setEnabled(false);
		panel.add(btnDodajDruzyne);
		
		btnDodajDruzyne.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				dodaj();
				
			}
		});
		
		btnEdytujDruzyne = new JButton("Edytuj Druzyne");
		btnEdytujDruzyne.setBounds(10, 55, 178, 23);
		panel.add(btnEdytujDruzyne);
		btnEdytujDruzyne.setEnabled(false);
		btnEdytujDruzyne.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent arg0) {
			edytuj();
		}
	});
		
		
		btnUsunDruzyne = new JButton("Usun Druzyne");
		btnUsunDruzyne.setBounds(10, 89, 178, 23);
		panel.add(btnUsunDruzyne);
		btnUsunDruzyne.setEnabled(false);
		btnUsunDruzyne.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				usun();
				odswiez();
			
			}
		});
		
		
		
		
		JPanel panel_1 = new JPanel();
		panel_1.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 255)), "Druzyny", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel_1.setLayout(null);
		panel_1.setBounds(10, 62, 257, 195);
		contentPane.add(panel_1);
		
		
		list.setBounds(10, 21, 237, 163);
		panel_1.add(list);
		
		
		
		JButton btnPowrot = new JButton("Powrot");
		btnPowrot.setBounds(10, 291, 89, 23);
		contentPane.add(btnPowrot);
		btnPowrot.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				powrot();
			}
		});

		
		JPanel panel_2 = new JPanel();
		panel_2.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 255)), "Zarzad", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel_2.setBounds(277, 205, 198, 89);
		contentPane.add(panel_2);
		panel_2.setLayout(null);
		
		JLabel lblPrezes = new JLabel("Prezes");
		lblPrezes.setBounds(10, 24, 46, 14);
		panel_2.add(lblPrezes);
		
		txtPrezes = new JTextField();
		txtPrezes.setBounds(52, 21, 136, 20);
		panel_2.add(txtPrezes);
		txtPrezes.setColumns(10);
		
		
		JButton btnNewButton = new JButton("Dodaj/Zmien");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
			prezes();
				
			}
		});
		btnNewButton.setBounds(32, 49, 126, 29);
		panel_2.add(btnNewButton);
		btnPowrot.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {

			}
		});
	}
	void zapisz()
	{
		if(ligagui.getLista().getSelectedIndex()<0)	{
			dodajKlub();
			
		
		}
		else 
		{
			edytujKlub(ligagui.getLiga().zwrocKlub(ligagui.getLista().getSelectedIndex()));
		
		}
		guziki();
	
	}
	void dodaj()
	{
		DruzynaGuii druzynagui=new DruzynaGuii(this);
		  druzynagui.setVisible(true);
		  Druzyna druzyna= new Druzyna();
		  druzynagui.setDruzyna(druzyna);
	};
	void edytuj()
	{
		DruzynaGuii druzynagui=new DruzynaGuii(this);
		druzynagui.setVisible(true);
		druzynagui.setDruzyna(klub.zwrocDruzyne(getList().getSelectedIndex()));
		druzynagui.uzupelni();
		


	}
	void powrot()
	{
		setVisible(false);
		ligagui.odswiez();
	}
	void prezes()
	{
		PrezesGUI prezesgui=new PrezesGUI(this);
		prezesgui.setVisible(true);
	}
		
	
	
void dodajKlub()
{	
	
		String nazwa=(txtNazwaKlubu.getText());
		String rok=(txtRokZalozenia.getText());
		klub.setNazwa(nazwa);
		klub.setRokZalozenia(Integer.parseInt(rok));
		ligagui.getLiga().dodajKlub(klub);
		System.out.println(nazwa+" "+rok);
		   System.out.println(ligagui.getLiga().iloscKlubow());
}
void edytujKlub(Klub klub)
{

    klub.setNazwa(txtNazwaKlubu.getText());
	klub.setRokZalozenia(Integer.parseInt(txtRokZalozenia.getText()));
}
void uzupelni()
{
getList().setListData(ligagui.getLiga().zwrocKlub(ligagui.getLista().getSelectedIndex()).getDruzyny());
getTxtNazwaKlubu().setText(ligagui.getLiga().zwrocKlub(ligagui.getLista().getSelectedIndex()).getNazwa());	getTxtRokZalozenia().setText(Integer.toString(ligagui.getLiga().zwrocKlub(ligagui.getLista().getSelectedIndex()).getRokZalozenia()));
odswiez();
odswieztekst();
guziki();
}

void odswiez()
{
	list.setListData(klub.getDruzyny());
	guziki();

}
void odswieztekst()
{
	getTxtPrezes().setText(getKlub().getPrezes().toString());
}
void usun()
{
	klub.usunDruzyne(list.getSelectedIndex());
}
void guziki()
{

		getBtnEdytujDruzyne().setEnabled(true);
		getBtnDodajDruzyne().setEnabled(true);
		getBtnUsunDruzyne().setEnabled(true);
	
	}

	


	public JTextField getTxtNazwaKlubu() {
		return txtNazwaKlubu;
	}
	public void setTxtNazwaKlubu(JTextField txtNazwaKlubu) {
		this.txtNazwaKlubu = txtNazwaKlubu;
	}
	public JTextField getTxtRokZalozenia() {
		return txtRokZalozenia;
	}
	public void setTxtRokZalozenia(JTextField txtRokZalozenia) {
		this.txtRokZalozenia = txtRokZalozenia;
	}
	public LigaGuii getLigagui() {
		return ligagui;
	}
	public void setLigagui(LigaGuii ligagui) {
		this.ligagui = ligagui;
	}

	public Klub getKlub() {
		return klub;
	}
	public void setKlub(Klub klub) {
		this.klub = klub;
	}
	public JList getList() {
		return list;
	}
	public void setList(JList list) {
		this.list = list;
	}

	public JTextField getTxtPrezes() {
		return txtPrezes;
	}
	public void setTxtPrezes(JTextField txtPrezes) {
		this.txtPrezes = txtPrezes;
	}
	public JButton getBtnEdytujDruzyne() {
		return btnEdytujDruzyne;
	}
	public void setBtnEdytujDruzyne(JButton btnEdytujDruzyne) {
		this.btnEdytujDruzyne = btnEdytujDruzyne;
	}
	public JButton getBtnDodajDruzyne() {
		return btnDodajDruzyne;
	}
	public void setBtnDodajDruzyne(JButton btnDodajDruzyne) {
		this.btnDodajDruzyne = btnDodajDruzyne;
	}
	public JButton getBtnUsunDruzyne() {
		return btnUsunDruzyne;
	}
	public void setBtnUsunDruzyne(JButton btnUsunDruzyne) {
		this.btnUsunDruzyne = btnUsunDruzyne;
	}
	
	
	
}
